home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 September (IDG) / Sep99.iso / Shareware World / Info / For Developers / Finder Flags Plugin / Finder Flags Sources / Finder Flags Tester / SetFile Tester.c next >
Encoding:
C/C++ Source or Header  |  1999-06-19  |  2.9 KB  |  95 lines  |  [TEXT/CWIE]

  1. /*
  2.  *  Hello World for the CodeWarrior
  3.  *  © 1997-1998 Metrowerks Corp.
  4.  *
  5.  *  Questions and comments to:
  6.  *       <mailto:support@metrowerks.com>
  7.  *       <http://www.metrowerks.com/>
  8.  */
  9.  
  10. #include <stdio.h>
  11. #include <stdlib.h>
  12. #include <time.h>
  13.  
  14. #include <StandardFile.h>
  15. #include <Finder.h>
  16. #include "EvenMoreFiles.h"
  17.  
  18. int main(void)
  19. {
  20.     StandardFileReply    sfReply;
  21.     // Printf to initialize toolbox
  22.     printf ("Hi\n");
  23.     fflush (stdout);
  24.     
  25.     for (;;) {
  26.         StandardGetFile (nil, -1, nil, &sfReply);
  27.         if (sfReply.sfGood) {
  28.             FInfo                fndrInfo;
  29.             ExtendedFileInfo    fndrXInfo;
  30.             OSErr                err;
  31.  
  32.             err = FSpGetFInfo (&sfReply.sfFile, &fndrInfo);
  33.             if (err != noErr) {
  34.                 printf ("FSpGetFInfo returned %d\n", err);
  35.             } else {
  36.                 printf ("kIsAlias                     : %d\n",
  37.                     (fndrInfo.fdFlags & kIsAlias) >> 15);
  38.                 printf ("kIsInvisible                 : %d\n",
  39.                     (fndrInfo.fdFlags & kIsInvisible) >> 14);
  40.                 printf ("kHasBundle                   : %d\n",
  41.                     (fndrInfo.fdFlags & kHasBundle) >> 13);
  42.                 printf ("kNameLocked                  : %d\n",
  43.                     (fndrInfo.fdFlags & kNameLocked) >> 12);
  44.                 printf ("kIsStationery                : %d\n",
  45.                     (fndrInfo.fdFlags & kIsStationery) >> 11);
  46.                 printf ("kHasCustomIcon               : %d\n",
  47.                     (fndrInfo.fdFlags & kHasCustomIcon) >> 10);
  48.                 printf ("reserved (0x0200)            : %d\n",
  49.                     (fndrInfo.fdFlags & 0x0200) >> 9);
  50.                 printf ("kHasBeenInited               : %d\n",
  51.                     (fndrInfo.fdFlags & kHasBeenInited) >> 8);
  52.                 printf ("kHasNoINITs                  : %d\n",
  53.                     (fndrInfo.fdFlags & kHasNoINITs) >> 7);
  54.                 printf ("kIsShared                    : %d\n",
  55.                     (fndrInfo.fdFlags & kIsShared) >> 6);
  56.                 printf ("reserved (0x0030)            : %d\n",
  57.                     (fndrInfo.fdFlags & 0x0030) >> 4);
  58.                 printf ("kColor                       : %d\n",
  59.                     (fndrInfo.fdFlags & kColor) >> 1);
  60.                 printf ("kIsOnDesk                    : %d\n",
  61.                     fndrInfo.fdFlags & kIsOnDesk);
  62.             }
  63.  
  64.  
  65.             err = FSpGetExtendedFileInfo (&sfReply.sfFile, &fndrXInfo);
  66.             if (err != noErr) {
  67.                 printf ("FSpGetExtendedFileInfo returned %d\n", err);
  68.             } else {
  69.                 printf ("kExtendedFlagsAreInvalid     : %d\n",
  70.                     (fndrXInfo.extendedFinderFlags & kExtendedFlagsAreInvalid) >> 15);
  71.                 printf ("reserved (0x7E00)            : %d\n",
  72.                     (fndrXInfo.extendedFinderFlags & 0x7E00) >> 9);
  73.                 printf ("kExtendedFlagHasCustomBadge  : %d\n",
  74.                     (fndrXInfo.extendedFinderFlags & kExtendedFlagHasCustomBadge) >> 8);
  75.                 printf ("reserved (0x00F8)            : %d\n",
  76.                     (fndrXInfo.extendedFinderFlags & 0x00F8) >> 3);
  77.                 printf ("kExtendedFlagHasRoutingInfo  : %d\n",
  78.                     (fndrXInfo.extendedFinderFlags & kExtendedFlagHasRoutingInfo) >> 2);
  79.                 printf ("reserved (0x0003)            : %d\n",
  80.                     fndrXInfo.extendedFinderFlags & 0003);
  81.             }
  82.         }
  83.  
  84.         {
  85.             char c;
  86.             fflush (stdin);
  87.             printf ("Hit enter to continue.\n");
  88.             scanf ("%c", &c);
  89.         }
  90.     }
  91.  
  92.     return 0;
  93. }
  94.  
  95.